let SessionStroage = class{
  constructor() {
    this.STROAGE_KEY = ''
  }
  // 在sessionStorage里创建一个值就是我们自己的模块
  createModule(module_name) {
    this.STROAGE_KEY = module_name
    window.sessionStorage.setItem(this.STROAGE_KEY, '')
  }
  /**
   * 存模块的方法
   * @param {*} key 要创建的模块名
   * @param {*} value 值
   * @param {*} module_name 已有的模块名
   */
  setItem(key, value, module_name) {
    if (module_name) {
      const val = this.getItem(module_name)
      val[key] = value
      this.setItem(module_name, val)
    } else {
      const val = this.getStorage()
      val[key] = value
      window.sessionStorage.setItem(this.STROAGE_KEY, JSON.stringify(val))
    }
  }
  // 获取某个模块的值
  getItem(key, module_name) {
    if (module_name) {
      const val = this.getItem(module_name)
      if (val) return val[key]
    }
    return this.getStorage()[key]
  }
  getStorage() {
    return JSON.parse(window.sessionStorage.getItem(this.STROAGE_KEY) || '{}')
  }
  clear(key, module_name) {
    const val = this.getStorage()
    if (module_name) {
      if (!val[module_name]) {
        return false;
      } else {
        delete val[module_name][key]
      }
    } else {
      delete val[key]
    }
    window.sessionStorage.setItem(this.STROAGE_KEY, JSON.stringify(val))
  }
}
export default SessionStroage
